import UIKit

@available(iOS 9.0, *)
extension QKC where AA :UIApplicationShortcutItem {
	// An application-specific string that identifies the type of action to perform.
    open func type_qk_g() -> QKC<AA,YY,ZZ, String >{
		 self +^ self.value.type
	}

	// Properties controlling how the item should be displayed on the home screen.
    open func localizedTitle_qk_g() -> QKC<AA,YY,ZZ, String >{
		 self +^ self.value.localizedTitle
	}

    open func localizedSubtitle_qk_g() -> QKC<AA,YY,ZZ, String? >{
		 self +^ self.value.localizedSubtitle
	}

     open func icon_qk_g() -> QKC<AA,YY,ZZ, UIApplicationShortcutIcon? >{
		 self +^ self.value.icon
	}

	// Will throw an exception if the NSDictionary is not plist-encodable.
    open func userInfo_qk_g() -> QKC<AA,YY,ZZ, [String : NSSecureCoding]? >{
		 self +^ self.value.userInfo
	}

	// used with UISceneActivationConditions to customize what scene should be activated for a shortcut
    open func targetContentIdentifier_qk_g() -> QKC<AA,YY,ZZ, Any? >{
		 self +^ self.value.targetContentIdentifier
	}

}

@available(iOS 9.0, *)
extension QKC where AA :UIMutableApplicationShortcutItem {
    open func type_qk_s(_ type:  String) -> QKC<AA,YY,ZZ, String>{
		return link(next: type).then_QK { $0.value.type = type }
	}
    open func type_qk_g() -> QKC<AA,YY,ZZ, String>{
		 self +^ self.value.type
	}

    open func localizedTitle_qk_s(_ localizedTitle:  String) -> QKC<AA,YY,ZZ, String>{
		return link(next: localizedTitle).then_QK { $0.value.localizedTitle = localizedTitle }
	}
    open func localizedTitle_qk_g() -> QKC<AA,YY,ZZ, String>{
		 self +^ self.value.localizedTitle
	}

    open func localizedSubtitle_qk_s(_ localizedSubtitle:  String?) -> QKC<AA,YY,ZZ, String?>{
		return link(next: localizedSubtitle).then_QK { $0.value.localizedSubtitle = localizedSubtitle }
	}
    open func localizedSubtitle_qk_g() -> QKC<AA,YY,ZZ, String?>{
		 self +^ self.value.localizedSubtitle
	}

     open func icon_qk_s(_ icon:  UIApplicationShortcutIcon?) -> QKC<AA,YY,ZZ, UIApplicationShortcutIcon?>{
		return link(next: icon).then_QK { $0.value.icon = icon }
	}
     open func icon_qk_g() -> QKC<AA,YY,ZZ, UIApplicationShortcutIcon?>{
		 self +^ self.value.icon
	}

    open func userInfo_qk_s(_ userInfo:  [String : NSSecureCoding]?) -> QKC<AA,YY,ZZ, [String : NSSecureCoding]?>{
		return link(next: userInfo).then_QK { $0.value.userInfo = userInfo }
	}
    open func userInfo_qk_g() -> QKC<AA,YY,ZZ, [String : NSSecureCoding]?>{
		 self +^ self.value.userInfo
	}

    open func targetContentIdentifier_qk_s(_ targetContentIdentifier:  Any?) -> QKC<AA,YY,ZZ, Any?>{
		return link(next: targetContentIdentifier).then_QK { $0.value.targetContentIdentifier = targetContentIdentifier }
	}
    open func targetContentIdentifier_qk_g() -> QKC<AA,YY,ZZ, Any?>{
		 self +^ self.value.targetContentIdentifier
	}

}

